Many modern wireless communication devices are multi-mode devices, or multi-radio devices, which include multiple radio interfaces that enable the device to support communication via multiple radio access technologies (RATs). Such multi-mode devices support a variety of applications that can rely on network communication to support application functionality. The presence of multiple radio interfaces on a device can thus require the device to implement a mobility solution to handover applications from one interface to another without impacting end-to-end performance of an application. Various solutions have been proposed to address Internet Protocol (IP) layer session continuity. These solutions can be categorized as application layer mobility solutions, such as session initiation protocol (SIP); transport layer mobility solutions, such as stream control transmission protocol (SCTP) and multipath transmission control protocol (MPTCP); and network layer mobility solutions, such as mobile IP, proxy mobile IP (PMIP), general packet radio service tunneling protocol (GTP), and mobility and multihoming (Mobike) protocol.
However, while solutions exist to support IP layer session mobility, mobility of an active data session from the application layer perspective continues to be problematic. Present application layer mobility implementations require each application to directly implement its own mobility function and to switch interfaces when radio coverage changes from one RAT to another, such as from cellular to Wi-Fi, without impacting end-to-end performance of the application. These application layer mobility solutions are complex, requiring modification of each and every application. Moreover, existing application layer mobility solutions are not workable for real time applications. In this regard, while some hypertext transfer protocol (HTTP) based applications do have the ability to switch interfaces from one radio interface to another, real time applications, such as video conferencing applications and voice over Long Term Evolution (VoLTE), are unable to switch radio interfaces during an active session without dropping the active session or otherwise interrupting continuity of the session.